﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DXApplicationTangche.UC.项目成果管理.在制品管理.service;
using DXApplicationTangche.UC.项目成果管理.service;
using DXApplicationTangche.UC.生产计划.生产批生产.service;
using DXApplicationTangche.UC.下单MTO.Service;

namespace DXApplicationTangche.UC.项目成果管理.在制品管理
{
    public partial class FormVI质检提交 : DevExpress.XtraEditors.XtraForm
    {
        private DTO项目成果提交 DTO项目成果提交 = new DTO项目成果提交();
        private String barcode { get; set; }
        public FormVI质检提交(String barcode,DTO项目成果提交 DTO项目成果提交)
        {
            InitializeComponent();
            this.barcode = barcode;
            this.DTO项目成果提交 = DTO项目成果提交;
        }
        

        private void textBox扫描_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue == 13)
            {
                if (String.IsNullOrEmpty(this.textBox扫描.Text))
                {
                    MessageBox.Show("无扫描信息");
                    return;
                }
                //判断扫描的工牌是否正确
                String mnemonic = 项目成果Service.get判断扫描员工码是否正确(this.textBox扫描.Text.Trim());
                if (String.IsNullOrWhiteSpace(mnemonic))
                {
                    this.textBox扫描.Clear();
                    MessageBox.Show("扫描员工码错误，请重新扫描");
                    return;
                }
                this.DTO项目成果提交.mnemonic = mnemonic;
                try
                {
                    if (!"02".Equals(this.DTO项目成果提交.code))
                    {
                        String stepName = "";
                        if ("01.0005".Equals(this.DTO项目成果提交.code))
                        {
                            stepName = BarcodeWipInstanceConsts.HALF_PRODUCT_INSPECTION;
                        }
                        else if ("01.0005.01".Equals(this.DTO项目成果提交.code))
                        {
                            stepName = BarcodeWipInstanceConsts.FIRST_PRODUCT_INSPECTION;
                        }
                        else if ("01.0007".Equals(this.DTO项目成果提交.code))
                        {
                            stepName = BarcodeWipInstanceConsts.FINISHED_PRODUCT_INSPECTION;
                        }
                        if (!String.IsNullOrEmpty(this.barcode))
                        {
                            PlainMessageResult plainMessageResult = 生产批生产Service.wipBarcodeScan(this.barcode, stepName, this.DTO项目成果提交.mnemonic);
                            if (!"200".Equals(plainMessageResult.errorCode))
                            {
                                MessageBox.Show(plainMessageResult.errorMessage);
                                this.Close();
                                return;
                            }
                        }
                    }
                    //try
                    //{
                    //    //  工序顺序提醒，不影响继续干活
                    //    UC.下单MTO.Service.PlainMessageResult plainMessageResult =
                    //        生产批生产Service.validateProjectInstance(
                    //            this.DTO项目成果提交.batchNo,
                    //            this.DTO项目成果提交.code
                    //            );
                    //    if (!ConstPlainMessageResult.OK.Equals(plainMessageResult.errorCode))
                    //    {
                    //        MessageBox.Show(plainMessageResult.errorMessage);
                    //    }
                    //}
                    //catch { }
                    //记录执行人
                    项目成果Service.post项目成果提交(this.DTO项目成果提交);
                    MessageBox.Show("操作完成");
                    this.Close();
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message);
                }

            }
        }
    }
}